Big Bank plcInternet Banking SystemAPI ApplicationSecurity ComponentOn this pageSecurity ComponentProvides functionality related to signing in, changing passwords, etc.Technology: Spring BeanComponentsInternet Banking System - API Application - ComponentsAPI ApplicationMakes API calls to[JSON/HTTPS]Makes API calls to[JSON/HTTPS]Makes API calls to[JSON/HTTPS]Makes API calls to[JSON/HTTPS]Makes API calls to[JSON/HTTPS]Makes API calls to[JSON/HTTPS]UsesUsesUsesUsesReads from and writes to[SQL/TCP]Makes API calls to[XML/HTTPS]Sends e-mail usingMainframe Banking System[Software System]Stores all of the corebanking information aboutcustomers, accounts,transactions, etc.E-mail System[Software System]The internal MicrosoftExchange e-mail system.Single-Page Application[Container: JavaScript and Angular]Provides all of the Internetbanking functionality tocustomers via their webbrowser.Mobile App[Container: Xamarin]Provides a limited subset ofthe Internet bankingfunctionality to customersvia their mobile device.Sign In Controller[Component: Spring MVC Rest Controller]Allows users to sign in tothe Internet Banking System.Accounts Summary Controller[Component: Spring MVC Rest Controller]Provides customers with asummary of their bankaccounts.Reset Password Controller[Component: Spring MVC Rest Controller]Allows users to reset theirpasswords with a single useURL.Security Component[Component: Spring Bean]Provides functionalityrelated to signing in,changing passwords, etc.Mainframe Banking System Facade[Component: Spring Bean]A facade onto the mainframebanking system.E-mail Component[Component: Spring Bean]Sends e-mails to users.Database[Container: Oracle Database Schema]Stores user registrationinformation, hashedauthentication credentials,access logs, etc.SignInAPI Application - DynamicAPI Application1. Submits credentials to[JSON/HTTPS]2. Validates credentialsusing3. select * from users whereusername = ?[SQL/TCP]4. Returns user data to[SQL/TCP]5. Returns true if the hashedpassword matches6. Sends back anauthentication token to[JSON/HTTPS]Single-Page Application[Container: JavaScript and Angular]Provides all of the Internetbanking functionality tocustomers via their webbrowser.Sign In Controller[Component: Spring MVC Rest Controller]Allows users to sign in tothe Internet Banking System.Security Component[Component: Spring Bean]Provides functionalityrelated to signing in,changing passwords, etc.Database[Container: Oracle Database Schema]Stores user registrationinformation, hashedauthentication credentials,access logs, etc.